asyncfunctionqueryDNS(domain,recordType='A'){consturl=`https://cloudflare-dns.com/dns-query?name=${encodeURIComponent(domain)}&type=${encodeURIComponent(recordType)}`;constresponse=awaitfetch(url, {headers:{'Accept':'application/dns-json'}});constresult=awaitresponse.json();// DNS record type numbers
consttypeMap={'A':1,'NS':2,'CNAME':5,'SOA':6,'PTR':12,'MX':15,'TXT':16,'AAAA':28,'SRV':33,'HTTPS':65};//Check Type and name
constrequestedType=typeMap[recordType.toUpperCase()]||recordType;// Check if we have answers and filter by requested type
if(result.Answer){returnresult.Answer.filter(answer=>(answer.type===requestedType)&&(answer.name===domain)).map(answer=>answer.data);}return[];}// Example: Query SRV record
queryDNS('_matrix-identity._tcp.generalzero.org', 'SRV').then(result=>{console.log(`SRVRecordResult:${result}`, );});//SRV Record Result: 0 0 443 _dc-srv.31556abac35a._matrix-identity._tcp.generalzero.org